<%

Function torneio_atualizar_torneio(conexao, id_torneio, id_rodada)

		prox=1

		if id_rodada>0 then
		
			str = "Select * FROM rodadas where id="&id_rodada
   			Set rs = conexao_geral.Execute(str)	
			
			if rs("simulacao")=1 OR rs("status")=0 then prox = 0
			
		End If
		
		if prox=1 then
	
			str = "Select id FROM torneios_geral where status=1 and id="&id_torneio
			Set rs = conexao.Execute(str)	
			
			if not rs.eof then
			
				str = "Select id FROM torneios_grupos where status=1 and id_torneio="&id_torneio
				Set rs = conexao.Execute(str)	
				
				Do while not rs.eof
				
					torneio_atualizar_grupo conexao, rs("id"), id_rodada
					
					rs.MoveNext
					
				Loop
				
				str = "Select id_clube FROM torneios_clubes where id_torneio="&id_torneio
				Set rs = conexao.Execute(str)	
				
				Do while not rs.eof
				
					torneio_atualizar_clube conexao, rs("id_clube"), id_torneio, id_rodada
					
					rs.MoveNext
					
				Loop
					
				torneio_avancar_grupos conexao, id_torneio
					
			End If
			
		End If
		
		torneio_encerrar_torneio  conexao,	id_torneio
		
		torneio_atualizar_torneio = prox


End Function

Function torneio_atualizar_grupo(conexao, id_grupo, id_rodada)

			DIM i, k, p, clubes_copa(2000), clube, id_torneio

			str = "Select id, id_torneio, tipo, criterio FROM torneios_grupos where status=1 and id="&id_grupo
			Set rs = conexao.Execute(str)	
			
			DIM clubes(2000,6)
			
			if not rs.eof then
			
				id_torneio = rs("id_torneio")
			
				'zera = nao necessario
				'str = "UPDATE torneios_lista SET "
				'str = str & "jogos='0', "
				'str = str & "vitorias='0', "
				'str = str & "empates='0', "
				'str = str & "golspros='0', "
				'str = str & "golscontras='0' "
				'str = str & " WHERE id_grupo="&id_grupo
				'Set rsI = conexao.Execute(str)
				
				total=0
				
				str = "Select * FROM torneios_lista where id_grupo="&id_grupo
				Set rs2 = conexao.Execute(str)		
				Do while not rs2.eof
					clubes(total,0) = rs2("id_clube")
					if id_rodada=0 then
							for i=1 to 6
								clubes(total,i) = 0
							next
					Else
								clubes(total,1) = rs2("jogos")
								clubes(total,2) = rs2("vitorias")
								clubes(total,3) = rs2("empates")
								clubes(total,4) = rs2("golspros")
								clubes(total,5) = rs2("golscontras")
								clubes(total,6) = rs2("fase")
					End If
					total=total+1
					rs2.MoveNext
				Loop

				
				
				for i=0 to total-1
				
					torneio_get_todosjogos_clube_grupo conexao, clubes(i,0), id_grupo, clubes, i, id_rodada
					
					str = "UPDATE torneios_lista SET "
					str = str & "jogos='"&clubes(i,1)&"', "
					str = str & "vitorias='"&clubes(i,2)&"', "
					str = str & "empates='"&clubes(i,3)&"', "
					str = str & "golspros='"&clubes(i,4)&"', "
					str = str & "golscontras='"&clubes(i,5)&"', "
					str = str & "fase='"&clubes(i,6)&"' "
					str = str & " WHERE id_grupo="&id_grupo&" and id_clube="&clubes(i,0)
					Set rsI = conexao.Execute(str)
				
				Next
					
					str = "Select * FROM criterios where id="&rs("criterio")
					Set rs4 = conexao_geral.Execute(str)
				
				
					If rs("tipo")=2 then
					
						str = "Select rodada FROM torneios_jogos where realizado=1 and id_grupo="&id_grupo&" order by id_rodada desc"
						Set rs2 = conexao.Execute(str)	
						
						if not rs2.eof then
						
								str = "Select id FROM torneios_jogos where realizado=0 and id_grupo="&id_grupo&" and rodada="&(rs2("rodada")+1)&" and (id_clube_1<=0 or id_clube_2<=0)"
								Set rs3 = conexao.Execute(str)	
								
								if not rs3.eof then
								
										str = "Select id_clube_1, id_clube_2 FROM torneios_jogos where realizado=1 and id_grupo="&id_grupo&" and rodada="&rs2("rodada")&" order by id asc"
										Set rs3 = conexao.Execute(str)	
										
										i=0
										
										Do while not rs3.eof
												
												clubes_copa(i) = torneio_copa_confronto(conexao, rs3("id_clube_1"), rs3("id_clube_2"), id_grupo)
												
												i=i+1
												rs3.MoveNext
										Loop
			
										
										DIM base
										
										str = "Select id_clube_1, id_clube_2 FROM torneios_jogos where realizado=0 and rodada="&(rs2("rodada")+1)&" and (id_clube_1<=0 or id_clube_2<=0)"
										Set rs2 = conexao.Execute(str)	

										if rs2("id_clube_1")<0 then 
													base = rs2("id_clube_1") - rs2("id_clube_1") mod 10000
										else
												  base = rs2("id_clube_2") - rs2("id_clube_2") mod 10000
										End If

										for j=0 to i-1
					
												torneio_trocar_clube_jogos conexao, id_grupo, base-j-1, clubes_copa(j)
												torneio_lista_aumentar_fase conexao, id_grupo, clubes_copa(j) 

										next
										
								Else
								
										str = "Select id FROM torneios_jogos where realizado=0 and id_grupo="&id_grupo
										Set rs3 = conexao.Execute(str)
										
										if rs3.eof then
										
												str = "Select id_clube_1, id_clube_2 FROM torneios_jogos where realizado=1 and id_grupo="&id_grupo&" and rodada="&rs2("rodada")&" order by id asc"
												Set rs3 = conexao.Execute(str)
												
												clube = torneio_copa_confronto(conexao, rs3("id_clube_1"), rs3("id_clube_2"), id_grupo)
										
												torneio_lista_aumentar_fase conexao, id_grupo, clube
										
										End If
										
										
								End IF
								
						
						End IF
						
						ranking_atualizar_posicao conexao, "torneios_lista", "id_clube", "fase desc, "&rs4("ordem"), " AND id_grupo="&id_grupo
						
					Else
					
						ranking_atualizar_posicao conexao, "torneios_lista", "id_clube", rs4("ordem"), " AND id_grupo="&id_grupo
								
					
					End IF
					
					torneio_atualizar_clube_posicao conexao, id_grupo, id_torneio
				
								'atualizar status
				
				str = "Select id FROM torneios_jogos where realizado=0 and id_grupo="&id_grupo
				Set rs2 = conexao.Execute(str)	
				
				if rs2.eof then 
				
						torneio_grupo_status_finalizar conexao, id_grupo
				
				End If
			
			
			End If

End Function

Function torneio_atualizar_clube(conexao, id_clube, id_torneio, id_rodada)

			DIM clubes(0,8), grupos(500,3), i, j

			str = "Select * FROM torneios_clubes where id_torneio="&id_torneio&" and id_clube="&id_clube
			Set rs = conexao.Execute(str)	

			if id_rodada=0 then
						for i=1 to 6
							clubes(0,i) = 0
						next
			Else
						clubes(total,1) = rs("jogos")
						clubes(total,2) = rs("vitorias")
						clubes(total,3) = rs("empates")
						clubes(total,4) = rs("golspros")
						clubes(total,5) = rs("golscontras")
						clubes(total,6) = rs("fase")
			End If
			
			total=0
			
			total = torneio_lista_grupos_clube(conexao, id_torneio, id_clube, grupos)
				
			for i=0 to total-1
				
					torneio_get_todosjogos_clube_grupo conexao, id_clube, grupos(i,0), clubes, 0, id_rodada
				
			Next
			
			i=0
			

			
					str = "UPDATE torneios_clubes SET "
					str = str & "jogos='"&clubes(i,1)&"', "
					str = str & "vitorias='"&clubes(i,2)&"', "
					str = str & "empates='"&clubes(i,3)&"', "
					str = str & "golspros='"&clubes(i,4)&"', "
					str = str & "golscontras='"&clubes(i,5)&"' "
					str = str & " WHERE id_torneio="&id_torneio&" and id_clube="&id_clube
					Set rsI = conexao.Execute(str)


End Function

Function torneio_atualizar_clube_fase(conexao, id_clube, id_torneio)

			DIM grupos(500,3), total, i ,j
			
			total = torneio_lista_grupos_clube(conexao, id_torneio, id_clube, grupos)

			if total=0 then
			
					for j=1 to 3
							grupos(0,j) = 0
					next
					max_grupo=0
			
			else
			
					max_grupo = torneio_maior_grupo(conexao, grupos, total)
			
			End If
			
					torneio_atualziar_vantagem conexao, grupos, id_clube, max_grupo 
			

					str = "UPDATE torneios_clubes SET "
					str = str & "fase='"&grupos(max_grupo,1)&"', "
					str = str & "nivel='"&grupos(max_grupo,2)&"', "
					str = str & "posicao='"&grupos(max_grupo,3)&"', "
					str = str & "vantagem='"&grupos(max_grupo,3)&"' "
					str = str & " WHERE id_torneio="&id_torneio&" and id_clube="&id_clube
					Set rsI = conexao.Execute(str)


End Function

Function torneio_atualizar_clube_posicao (conexao, id_grupo, id_torneio)

			str = "Select id FROM torneios_grupos where id_torneio="&id_torneio&" and id="&id_grupo
			Set rsG = conexao.Execute(str)	
			
			DIM posicao, id_clube
			
			If not rsG.eof then
			
				str = "Select id_clube, posicao FROM torneios_lista where id_grupo="&id_grupo
				Set rsL = conexao.Execute(str)
				
				Do while not rsL.eof	
			
					posicao = rsL("posicao")
					id_clube = rsL("id_clube")
					
					str = "UPDATE torneios_clubes SET "
					str = str & "posicao='"&posicao&"' "
					str = str & " WHERE id_torneio="&id_torneio&" and id_clube="&id_clube
					Set rsI = conexao.Execute(str)
			
				rsL.MoveNext
				Loop
			
			End IF		

End Function

%>